package Exception;

/**
 * 基本异常
 */
public class NewGenericException extends RuntimeException
{
    private static final long serialVersionUID = 0L;

    private String code; // 错误代码
    private String[] params; // 参数用来补充说明异常消息，如需提示用户在某IP处登录可以设置消息
    private Object data; // 实际数据

    
    /**
     * 创建一个新的实例 GenericException.
     *
     */
      
    public NewGenericException()
    {
        this.code = code;
        this.data = null;
    }

    
    /**
     * 创建一个新的实例 GenericException.
     *
     * @param code String
     * @param data Object
     */
      
    public NewGenericException(String code, Object data)
    {
        this.code = code;
        this.data = data;
    }

    
    /**
     * 创建一个新的实例 GenericException.
     *
     * @param code String
     * @param params String
     */
      
    public NewGenericException(String code, String... params)
    {
        this.code = code;
        this.params = params;
    }

    
    /**
     * 创建一个新的实例 GenericException.
     *
     * @param code String
     * @param data Object
     * @param params String
     */
      
    public NewGenericException(String code, Object data, String... params)
    {
        this.code = code;
        this.data = data;
        this.params = params;
    }

    
    /**
     * 功能描述：getCode方法
     * @return String
     * @throws
     */
      
    public String getCode()
    {
        return code;
    }

    
    /**
     * 功能描述：setCode方法
     * @param code String
     */
      
    public void setCode(String code)
    {
        this.code = code;
    }

    
    /**
     * 功能描述：getParams方法
     * @return String[]
     * @throws
     */
      
    public String[] getParams()
    {
        return params;
    }

    
    /**
     * 功能描述：setParams方法
     * @param params String
     */
      
    public void setParams(String... params)
    {
        this.params = params;
    }

    
    /**
     * 功能描述：getData方法
     * @return Object
     * @throws
     */
      
    public Object getData()
    {
        return data;
    }

    
    /**
     * 功能描述：setData方法
     * @param data Object
     */
      
    public void setData(Object data)
    {
        this.data = data;
    }
}
